Namespaces
Variants

std::literals::chrono_literals:: operator""h

From cppreference.net
헤더 파일에 정의됨 <chrono>
constexpr std:: chrono :: hours
operator "" h ( unsigned long long hrs ) ;
(1) (C++14 이후)
constexpr std:: chrono :: duration < /*unspecified*/ , std:: ratio < 3600 , 1 >>
operator "" h ( long double hrs ) ;
(2) (C++14 이후)

시간을 나타내는 std::chrono::duration 리터럴을 형성합니다.

1) 정수 리터럴, 정확히 std:: chrono :: hours ( hrs ) 를 반환합니다.
2) 부동 소수점 리터럴, std::chrono::hours 와 동등한 부동 소수점 기간을 반환합니다.

목차

매개변수

hrs - 시간 수

반환값

std::chrono::duration 리터럴.

가능한 구현

constexpr std::chrono::hours operator""h(unsigned long long h)
{
    return std::chrono::hours(h);
}
constexpr std::chrono::duration<long double, ratio<3600,1>> operator""h(long double h)
{
    return std::chrono::duration<long double, std::ratio<3600,1>>(h);
}

참고 사항

이 연산자는 네임스페이스 std :: literals :: chrono_literals 에서 선언되며, 여기서 literals chrono_literals 는 모두 인라인 네임스페이스 입니다. 이 연산자에 접근하려면 다음을 사용할 수 있습니다:

  • using namespace std :: literals ,
  • using namespace std :: chrono_literals , 또는
  • using namespace std :: literals :: chrono_literals .

또한, 네임스페이스 std :: chrono 내에서 using namespace literals :: chrono_literals ; 지시문은 표준 라이브러리 에 의해 제공되므로, 프로그래머가 using namespace std :: chrono ; 를 사용하여 chrono 라이브러리 의 클래스들에 접근할 경우, 해당 리터럴 연산자들도 함께 표시됩니다.

예제

#include <chrono>
#include <iostream>
int main()
{
    using namespace std::chrono_literals;
    auto day = 24h;
    auto halfhour = 0.5h;
    std::cout << "one day is " << day.count() << " hours (" << day << ")\n"
              << "half an hour is " << halfhour.count() << " hours ("
              << halfhour << ")\n";
}

출력:

one day is 24 hours (24h)
half an hour is 0.5 hours (0.5h)

참고 항목

새로운 duration을 생성
( std::chrono::duration<Rep,Period> 의 public 멤버 함수)